package com.ruoyi.ring.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 训练对象 az_ring_training
 * 
 * @author liuwp
 * @date 2025-08-18
 */
@Data
public class RingTraining extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 训练类型 */
    @Excel(name = "训练类型")
    private Integer trainingType;

    /** raw_start_time */
    @Excel(name = "raw_start_time")
    private Integer rawStartTime;

    /** 开始时间 */
    @Excel(name = "开始时间")
    private Integer startTime;

    /** 结束时间 */
    @Excel(name = "结束时间")
    private Integer endTime;

    /** valid_time */
    @Excel(name = "valid_time")
    private Integer validTime;

    /** 步数 */
    @Excel(name = "步数")
    private Integer steps;

    /** 距离 */
    @Excel(name = "距离")
    private Integer distance;

    /** 卡路里 */
    @Excel(name = "卡路里")
    private Integer calories;

    /** 目标类型 */
    @Excel(name = "目标类型")
    private Integer goalType;

    /** 目标值 */
    @Excel(name = "目标值")
    private Integer goalValue;

    /** 训练状态 */
    @Excel(name = "训练状态")
    private String trainingState;

    /** HR列表 */
    @Excel(name = "HR列表")
    private String hrList;

    /** 计算日 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计算日", width = 30, dateFormat = "yyyy-MM-dd")
    private Date dailyValue;

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("trainingType", getTrainingType())
            .append("rawStartTime", getRawStartTime())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("validTime", getValidTime())
            .append("steps", getSteps())
            .append("distance", getDistance())
            .append("calories", getCalories())
            .append("goalType", getGoalType())
            .append("goalValue", getGoalValue())
            .append("trainingState", getTrainingState())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("hrList", getHrList())
            .append("dailyValue", getDailyValue())
            .toString();
    }
}
